package com.rainng.coursesystem.module.plan.mapper;

import com.rainng.coursesystem.module.plan.dto.entity.*;
import com.rainng.coursesystem.module.plan.dto.request.testReportTemplateReqDto;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 第三阶段辅助Mapper，一些接口参数
 */
@Mapper
public interface assistMapper {
    //获取指定Id下的试验记录
    testRecordDataEntity getRecordData(@Param("recordDataId") Integer recordDataId);
    //获取指定Id下的报告记录
    testReportDataEntity getReportData(@Param("id") Integer recordDataId);
    //根据汽车类型和项目号获取试验报告模板
    testReportTemplateEntity getrepTemp(@Param("veType") String veType, @Param("prjNum") String prjNum);
    ////根据汽车类型和项目号获取试验记录模板条数
    Integer getrecTempCount(@Param("veType") String veType, @Param("prjNum") String prjNum);
    ////根据汽车类型和项目号获取试验记录模板
    List<testTempateEntity> getrecTemp(@Param("veType") String veType, @Param("prjNum") String prjNum);
    //根据实验报告关联的实验记录ID去搜索实验报告文档模板
    List<testReportTemplateEntity> getreportTemp(@Param("recordDataId") Integer id);
    //更新实验记录报告模板功能
    Integer updateTestTemplate(@Param("temp") testTempateEntity tempInfo);
    //删除实验记录模板功能
    Integer deleteTestTemplate(Integer id);
    //删除实验报告模板功能
    Integer deleteReportTemplate(Integer id);
    //更新实验报告模板功能
    Integer updateReportTemplate(@Param("temp") testReportTemplateEntity tempInfo);
    //实验记录数据记录修改功能
    Integer updateTestRecordDtata(@Param("record") testRecordDataEntity record);
    //实验记录模板一键转换成实验报告模板功能
    List<testTempateEntity> getTestRecordDataInfo(@Param("veType") String veType, @Param("prjNum") String prjNum);
    //数据库实验记录数据表更新文件名称字段
    Integer updatedocxFileName(@Param("id") Integer id,@Param("docxFilename")  String docxFilename);
    //实测记录数据更新
    Integer updateTestRecord(@Param("id") Integer id,@Param("recordData")  String recordData);
    //数据库实验报告数据表更新文件名称字段
    Integer updaterepodocxFileName(@Param("id") String id,@Param("docxFilename")  String docxFilename);
    //根据vin码获取汽车信息
    List<carInfoEntity> getCarInfoList(@Param("vin")  String vin);

}
